namespace Core.Contracts.Interfaces
{
    /// <summary>
    /// Extension condition
    /// </summary>
    /// <typeparam name="T">The type of Condition</typeparam>
    public interface ICondition<out T>
    {
        /// <summary>
        /// Obtains the condition extension
        /// </summary>
        T Extension { get; }
        /// <summary>
        /// Obtains the extension condition level
        /// </summary>
        ushort Level { get;  }
    }
}